package cn.zhx.trigger.api;

import cn.zhx.trigger.api.dto.*;
import cn.zhx.types.model.Response;

import java.util.List;

/**
 * @Author: zhx
 * @Date: 2024/07/13
 * @Description: 抽奖服务接口
 **/


public interface IRaffleStrategyService {



    /**
     * 策略装配接口
     * @param strategyId 策略id
     * @return 策略装配结果
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     * 查询奖品列表接口
     * @param requestDto 请求参数
     * @return List<RaffleAwardListResponseDto>
     */
    Response<List<RaffleAwardListResponseDto>> queryRaffleAwardList(RaffleAwardListRequestDto requestDto);

    /**
     * 随机抽奖接口
     * @param requestDto 请求参数
     * @return RaffleResponseDto
     */
    Response<RaffleResponseDto> randomRaffle(RaffleRequestDto requestDto);

    /**
     * 查询抽奖策略权重规则
     * @param request
     * @return
     */
    Response<List<RaffleStrategyRuleWeightResponseDTO>> queryRaffleStrategyRuleWeight(UserActivityAccountRequestDTO request);
}
